package org.jeecg.modules.FinanceModule.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.FinanceModule.entity.MonthStatementEntity;
import org.jeecg.modules.zonglzp.entity.store;
import org.springframework.stereotype.Component;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Component
public interface MonthStatementsMapper {
    IPage<MonthStatementEntity> getMonthStatementList(Page<MonthStatementEntity> page, @Param("status") int status, @Param("realname") String realname);

    int addMonthStatement(MonthStatementEntity entity);

    IPage<MonthStatementEntity> getsmallMonthStatementList(Page<MonthStatementEntity> page, @Param("billid") String billid,@Param("orderSn") String orderSn);

    //查询所有用户的id
    List<Integer> getuserIdList();

    //查询这个人上个月所有的
    List<MonthStatementEntity> getUserSmallMonthListbyuserId(@Param("id") Integer id);

    //查询这个人上个月所有月结账单金额总和
    String getuserlastMonthSum(@Param("id") Integer integer);

    //新增一个月结账单总账单
    void insertBillInfo(@Param("id") long currentTimeMillis, @Param("date") Date date, @Param("userlastMonthSum") String userlastMonthSum,@Param("userId") Integer integer);


    void addsmallMonthlistToBill(@Param("billId") long billId, @Param("id") int id,@Param("date")  Date date);

    //通过userId查询这个人目前负债额度
    String getdebtLimitbyuserId(@Param("id") int parseInt);

    //修改用户的负债额度
    void updateuserDebtLimit(@Param("id") int parseInt,@Param("newdebtLimit")  BigDecimal newdebtLimit);

    int updateMonthStatement(MonthStatementEntity entity);

    //通过公司编码查询用户id
    String getuserIdbycompanyCode(@Param("companyCode") String companyCode);

    List<store> getstrorelist(@Param("orgCode") String orgCode);

    void updateMonthlistIsjinzhang(@Param("id") int id);
}
